上一篇有提到Spring Boot預設是沒有支援以jsp來作為view(層)的顯示,他是搭配著模板引擎,利用了模板引擎製作view層
傳統的Spring Struts2 (SS架構)我們習慣於將jsp檔案放置於WEB-INF資料夾底下,Spring Boot是可以更改設定將view層以jsp方式作為顯示
今天開始前我要先介紹常見的問題排除
遇到這個問題的解決方式呢,點擊上方工具列
Window->Preferences->點選Java展開選單->選擇Installed JRES點擊會出現下面圖片右方視窗
看到右方視窗請點擊你的JRE->點擊Edit->出現左邊視窗->點擊Directory->選擇JDK目錄後按確定
之後在按Finish就可以了
之後我們使用Maven做Compile或package就沒問題了如下圖
這一個篇幅很多要介紹,會有很多的問題,Windows有編碼中文亂碼的問題我會慢慢做解釋
第一步:
在application.properties加入底下這兩行
spring.mvc.view.prefix = /WEB-INF/jsp/
spring.mvc.view.suffix = .jsp
在pom檔案放入底下的依賴
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
在src->main->webapp下新增WEB-INF資料夾
在WEB-INF資料夾新增jsp
jsp頁面如下
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
For Run in JSP: ${message}
</body>
</html>
```
private String message = "鐵人賽第七天加油!!!";
@GetMapping("/")
public String index(Map<String, Object> model) {
model.put("message", this.message);
return "index";
}
```
點擊專案右鍵->Run AS ->Run configurations->Maven Build->Base directory點Workspace選擇你的專案->Goals輸入 compile
沒錯誤再一次
點擊專案右鍵->Run AS ->Run configurations->Maven Build->Base directory點Workspace選擇你的專案->Goals輸入 package
![https://ithelp.ithome.com.tw/upload/images/20171226/20107812AxdRJohTmk.png](https://ithelp.ithome.com.tw/upload/images/20171226/20107812AxdRJohTmk.png)
沒錯誤的話你的專案target底下會出現SpringTest-0.0.1-SNAPSHOT.war
名稱是pom.xml中兩個tag字串所相加的名稱
SpringTest
0.0.1-SNAPSHOT
下一步:
到(https://tomcat.apache.org/download-80.cgi )
下載 Apache Tomcat
tomcat已經有tomcat9版本,我以tomcat8配置作介紹
下一步:
下一步:
下一步:
下startup.bat
啟動畫面如下圖
在瀏覽器輸入
(http://localhost:8080/SpringTest-0.0.1-SNAPSHOT/ )
就大功告成!!!灑花~~~
如果你是想了解Controller還有沒有其他應用,當然是有的他還有很多的參數可以設定
但是此兩篇Controller是介紹如何搭配View層做個展示,程式撰寫第一步都是要展示出我們的介面嘛~
大家不要急,有興趣就自己實作看看吧~~
如果想更了解Controller你可以參考這篇文章
參考資料:
(https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/mvc.html )
下一篇 先介紹一下什麼是Service
不好意思請問:
我jsp目錄若為webapp\WEB-INF\jsp\index.jsp就會抓不到
但是如果放在webapp\index.jsp就可以抓到,請問是我哪裏設定有問題嗎?
我的UserController一直無法將message傳到jsp的頁面
都有照著步驟走,可是jsp一直無法show出message的內容
抱歉我找到問題了
要把pom.xml的thymeleaf那段dependency註解掉